<?php
declare(strict_types=1);

namespace App;

use Hyperf\Context\Context;
use Zms\Unit\Str;

class Application
{
    /**
     * 服务列表
     */
    const SERVER = [
        'JSON_API' => 'json-api',//接口服务进程
        'JSON_RPC' => 'json-rpc',//接口服务进程
        'WEB_SOCKET' => 'web-socket',//websocket长连接服务
    ];


    /**
     * 应用配置
     */
    const APP = [
        'ADMIN' => [
            'DESC' => '后台接口',//应用描述
            'NAME' => 'admin',//应用名称
            'SERVER' => self::SERVER['JSON_API'],//所属服务
            'GUARD' => 'admin',// 认证体系
        ]
    ];


    /**
     * 设置系统日志,用于系统日直记录
     * @param string $log
     * @param array $param
     * @return void
     */
    public static function log(string $log, array $param = []): void
    {
        $log = Str::render($log, $param);
        Context::set('system-log', $log);
    }


    /**
     * 获取系统日志
     * @param string $default
     * @return string
     */
    public static function getLog(string $default = ''): string
    {
        return Context::get('system-log', $default);
    }
}
